# -*- coding: utf-8 -*-
"""
Created on Mon Mar 27 13:46:02 2023

@author: Ewing
"""

#用于修改文件夹内所有表格的格式
#建议所有表格单独放置于一个文件夹内，不包含本程序
import pandas as pd
import os

from openpyxl import load_workbook
from openpyxl.styles import PatternFill,Alignment,Side,Border

# 设置文件夹路径
path=r'E:\python\Split_Table\20240102\\'
# 返回当前目录下所有文件名
files = os.listdir(path)
# 循环文件名列表
for file in files:
    # 拼接文件路径
    file_path = path + file
 
    # 打开工作簿
    wb = load_workbook(file_path)
    # 打开工作表
    ws = wb.active
 
    #调整列宽
    ws.column_dimensions['A'].width=10
    ws.column_dimensions['B'].width=10
    ws.column_dimensions['C'].width=10
    ws.column_dimensions['D'].width=10
 
    #定义单元格样式
    '''
    #定义表头颜色为橙色
    header_fill=PatternFill('solid',fgColor='FF7F24')
        #定义表中颜色为浅黄色
    content_fill=PatternFill('solid',fgColor='FFFFE0')
        #定义表尾颜色为淡橘红色
    bottom_fill=PatternFill('solid',fgColor='EE9572')
    '''
    #定义对其方式，纵向居中，横向居中
    align=Alignment(horizontal='center',vertical='center')
 
    #定义边样式为细条
    side=Side('thin')
    #定义表头边框样式有底边、右边
    head_border=Border(bottom=side,right=side)
    #定义表中边框样式有左边
    content_border=Border(bottom=side,right=side,left=side,top=side)
    
    column = ws['A']
    mylist = [column[x].value for x in range(len(column))]
    
    i=0
    for cell in column:
        cell.value=i
        i=i+1
    #取出第一行单元格
    for cell in ws[1]:
        #设置单元格填充颜色
        #cell.fill=header_fill
        #设置单元格对其方式
        cell.alignment=align
        #设置单元格边框
        cell.border=head_border
 
    #取出表中的各行,第二行到倒数第二行
    for row in ws.iter_rows(min_row=2,max_row=ws.max_row):
        for cell in row:
            #cell.fill=content_fill
            cell.alignment=align
            cell.border=content_border
 
    wb.save(file_path)